/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.kosongkosong.service;

import com.kosongkosong.model.Match;
import com.kosongkosong.model.Phase;
import com.kosongkosong.model.Story;
import com.kosongkosong.model.id.StoryId;
import java.util.Collection;
import java.util.List;

/**
 *
 * @author ifnu
 */
public interface DataService {

    public Story getStory(String id);

    public StoryId getStoryId(String id);

    public List<Story> getStories();
    
    public List<Story> getStories(int start, int num);
    
    public List<StoryId> getStoryIds();
    
    public List<StoryId> getStoryIds(int start, int num);

    public Story getHeadLine();

    public void save(Story story);

    public void save(StoryId story);

    public void update(Story story);

    public void delete(Story story);
    
    public void save(Collection<Story> stories);

    public void saveHeadline(Story story);

    public void save(Match match);

    public void update(Match match);

    public Match getMatch(String id);

    public void saveMatches(Collection<Match> mathes);

    public List<Match> getCompleteSchedule();

    public List<Match> getSchedule(Phase phase);
    
    public List<Match> getGroupPhaseSchedule(String groupName);

    public StoryId getHeadLineId();

}
